package app.fichajes.adapters;

import java.util.List;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import app.fichajes.cacheo.FichajesData;
import app.fichajes.constants.Constants;
import app.fichajes.data.Fichaje;
import app.fichajes.main.Main;
import app.fichajes.main.R;
import app.fichajes.wrappers.FichajesWrapper;

import com.gi.libraryutility.main.ActivityUtility;

public class ArrayAdapterListaFichajesPortada extends ArrayAdapter<Fichaje>{
	
	

	public ArrayAdapterListaFichajesPortada(Context context, List<Fichaje> fichajesPortada) {
		super(context, -1, fichajesPortada);
	}
	
	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		
		Fichaje f = this.getItem(position);
		
		String posicion = f.getJugador().getPosicion();
		String nombre = f.getJugador().getNombre();
		String nombreEqOrigen = f.getEquipo_origen();
		String nombreEqDestino = f.getEquipo_destino();
		
		Drawable escudoEqOrigen = FichajesData.mapImgEscudos.get(nombreEqOrigen);
		Drawable escudoEqDestino = FichajesData.mapImgEscudos.get(nombreEqDestino);
		Drawable fotoJugador = FichajesData.mapFotosJugador.get(nombre);
		
		if(convertView == null){
			LayoutInflater vi = (LayoutInflater)ActivityUtility.getActivityActual().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			convertView = (View)vi.inflate(R.layout.fila_jugador, null, false);
			
			convertView.setTag(new FichajesWrapper(convertView));
		}
		
		//Alternamos el fondo gris segun la posicion
		int res;
		if(position>0 && (position%2!=0))
			res = R.color.Gris;
		else
			res = R.color.Blanco;
		FichajesWrapper fichajesWrapper = (FichajesWrapper)convertView.getTag();
		
		fichajesWrapper.getFotoJugador().setImageDrawable(fotoJugador);
		fichajesWrapper.getEqOrigen().setBackgroundDrawable(escudoEqOrigen);
		fichajesWrapper.getEqDestino().setBackgroundDrawable(escudoEqDestino);
		fichajesWrapper.getColorPosicionJugador().setBackgroundColor(colorSegunPosicion(posicion));
		fichajesWrapper.getNombreJugador().setText(nombre);
		fichajesWrapper.getNombreEqOrigen().setText(nombreEqOrigen);
		fichajesWrapper.getNombreEqDestino().setText(nombreEqDestino);
		fichajesWrapper.getLayoutFondo().setBackgroundResource(res);
		
		/* Vamos a poner un pequeño "parche" para que en vez de "centrocampista" ponga "medio"
		 * porque "centrocampista" ocupa un güevazo de pantalla, la palabra la podemos considerar "larga de cojones"
		 * - ¿Y ahora te das cuenta J.Antonio?
		 * - Po si caraho!, yo que se! O_o
		 */
		if(posicion.equals(Constants.POSICION_CENTROCAMPISTA))
			posicion = "Medio";
		
	
			
		fichajesWrapper.getPosicionJugador().setText(posicion);
		
		return convertView;
	}
	
	
	private int colorSegunPosicion(String posicion){
		int resul = -1;
		
		if(posicion.equals(Constants.POSICION_ENTRENADOR))
			resul = Main.getContext().getResources().getColor(R.color.Entrenador);
		else if(posicion.equals(Constants.POSICION_PORTERO))
			resul = Main.getContext().getResources().getColor(R.color.Portero);
		else if(posicion.equals(Constants.POSICION_DEFENSA))
			resul = Main.getContext().getResources().getColor(R.color.Defensa);
		else if(posicion.equals(Constants.POSICION_CENTROCAMPISTA))
			resul = Main.getContext().getResources().getColor(R.color.Centrocampista);
		else if(posicion.equals(Constants.POSICION_DELANTERO))
			resul = Main.getContext().getResources().getColor(R.color.Delantero);
		
		return resul;
	}

}
